package com.example.redisdemo.redis;

import redis.clients.jedis.Jedis;

import java.util.*;

public class RedisJava {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("172.21.7.94",6379);
        // 如果 Redis 服务设置了密码，需要下面这行，没有就不需要
//         jedis.auth("123456");
        System.out.println("连接成功");
        //查看服务是否运行
        System.out.println("服务正在运行: "+jedis.ping());

//        redisHashMap(jedis);
//        redisList(jedis);
//            redisSet(jedis);
           redisSortedSet(jedis);

    }
    public static void redisString(Jedis jedis){
        //字符型
        jedis.set("name","modige");
        System.out.println(jedis.get("name"));
        //设置新值，返回旧值
        System.out.println(jedis.getSet("name","new modige"));
    }

    public static void redisHashMap(Jedis jedis){
        Map<String,String> map = new HashMap();
        map.put("key","value");
        map.put("key1","value");
        map.put("key2","value");
        jedis.hmset("hash",map);
        System.out.println(jedis.hmget("hash","key","key1"));

    }
    public static void redisList(Jedis jedis){
        List<String> list = new ArrayList<>();
        //倒序添加
        for (int i=0;i<10;i++){
            list.add("modige" + i);
            jedis.lpush("list","modige" + i);
        }
        System.out.println(jedis.lrange("list",0,9));
        System.out.println(jedis.llen("list"));
    }
    public static void redisSet(Jedis jedis){
        //无序添加
        for(int i=0;i<10;i++){
            jedis.sadd("set","modige"+i);
        }
        System.out.println(jedis.smembers("set"));
    }
    public static void redisSortedSet(Jedis jedis){
        for (int i=0;i<10;i++ ) {
            jedis.zadd("zset",i,"modige"+i);
        }
        System.out.println(jedis.zrangeWithScores("zset",0,9));
    }
}
